package com.retail.product.service.impl;

import java.util.List;

import com.retail.common.core.domain.Result;
import com.retail.product.common.vo.SkuNumberUpdVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.retail.product.mapper.TSkuMapper;
import com.retail.product.common.domain.TSku;
import com.retail.product.service.ITSkuService;

/**
 * sku商品套餐 例：苹果14 幻影紫 16+128GService业务层处理
 * 
 * @author retail
 * @date 2024-02-27
 */
@Service
public class TSkuServiceImpl implements ITSkuService 
{
    @Autowired
    private TSkuMapper tSkuMapper;

    /**
     * 查询sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param skuId sku商品套餐 例：苹果14 幻影紫 16+128G主键
     * @return sku商品套餐 例：苹果14 幻影紫 16+128G
     */
    @Override
    public TSku selectTSkuBySkuId(Integer skuId)
    {
        return tSkuMapper.selectTSkuBySkuId(skuId);
    }

    /**
     * 查询sku商品套餐 例：苹果14 幻影紫 16+128G列表
     * 
     * @param tSku sku商品套餐 例：苹果14 幻影紫 16+128G
     * @return sku商品套餐 例：苹果14 幻影紫 16+128G
     */
    @Override
    public List<TSku> selectTSkuList(TSku tSku)
    {
        return tSkuMapper.selectTSkuList(tSku);
    }

    /**
     * 新增sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param tSku sku商品套餐 例：苹果14 幻影紫 16+128G
     * @return 结果
     */
    @Override
    public int insertTSku(TSku tSku)
    {
        return tSkuMapper.insertTSku(tSku);
    }

    /**
     * 修改sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param tSku sku商品套餐 例：苹果14 幻影紫 16+128G
     * @return 结果
     */
    @Override
    public int updateTSku(TSku tSku)
    {
        return tSkuMapper.updateTSku(tSku);
    }

    /**
     * 批量删除sku商品套餐 例：苹果14 幻影紫 16+128G
     * 
     * @param skuIds 需要删除的sku商品套餐 例：苹果14 幻影紫 16+128G主键
     * @return 结果
     */
    @Override
    public int deleteTSkuBySkuIds(Integer[] skuIds)
    {
        return tSkuMapper.deleteTSkuBySkuIds(skuIds);
    }

    /**
     * 删除sku商品套餐 例：苹果14 幻影紫 16+128G信息
     * 
     * @param skuId sku商品套餐 例：苹果14 幻影紫 16+128G主键
     * @return 结果
     */
    @Override
    public int deleteTSkuBySkuId(Integer skuId)
    {
        return tSkuMapper.deleteTSkuBySkuId(skuId);
    }

    @Override
    public Result findByProductId(Integer productId) {
        List<TSku> list = tSkuMapper.findByProductId(productId);
        System.out.println (list);
        return Result.success (list);
    }

    @Override
    public void orderSkuUpdNumber(String str, String number) {
        String[] skuId = str.split (",");
        String[] Count = number.split (",");
        for (int i = 0; i < skuId.length; i++) {
            SkuNumberUpdVo skuNumberUpdVo = new SkuNumberUpdVo ();
            skuNumberUpdVo.setSkuId (skuId[i]);
            skuNumberUpdVo.setSkuCount (Count[i]);
            skuNumberUpdVo.setSkuNumber (Count[i]);
            tSkuMapper.orderSkuUpdNumber(skuNumberUpdVo);
        }
    }
}
